package br.com.bacabeleireiros.sysbeleza.controller;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import br.com.bacabeleireiros.sysbeleza.entity.Usuario;
import br.com.bacabeleireiros.sysbeleza.service.IUsuarioService;
import br.com.bacabeleireiros.util.controller.BaseBean;

@ManagedBean(name="loginMB")
@SessionScoped
public class LoginMB extends BaseBean implements Serializable {
	
	private static final long serialVersionUID = 1L;
	private String usuario;
	private String senha;
	private Boolean logado = new Boolean(Boolean.FALSE);
	
	@ManagedProperty("#{usuarioService}")
	private IUsuarioService usuarioService;
	
	public String login() {
		Usuario user = usuarioService.validaAcesso(usuario,senha);
		
		if(user != null){
			setUsuario(user.getFuncionario().getNome());
			getSession().setAttribute("user", user);
			return "/pages/protected/agenda.jsp";
		}

		addMessage(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Acesso Negado.","Verifique o Login e Senha."));
		
		return null;
	}
	
	public String logOut() {
		System.out.println("saiu");
		getSession().invalidate();
		return "login";
	}	
	
	private void addMessage(FacesMessage message) {
		FacesContext.getCurrentInstance().addMessage(null, message);
	}
	
	public String getUsuario() {
		return usuario;
	}
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}

	public Boolean getLogado() {
		return logado;
	}

	public void setLogado(Boolean logado) {
		this.logado = logado;
	}

	public void setUsuarioService(IUsuarioService usuarioService) {
		this.usuarioService = usuarioService;
	}


}
